package com.demo.utils;

import com.github.pagehelper.PageHelper;

import java.util.ArrayList;
import java.util.List;

/**
 * @author gxd
 * @since 2025/5/27
 */
public class PageUtils extends PageHelper {

    /**
     * 手动 分页
     * @param total     数据总数  例如 ： 50001
     * @param rowCount  每页行数  例如：  5000
     * @return 返回所有的页数   [1, 2,3,4,5,6,7,8,9,10,11] 因为 最后一条 也需要查询出来 所以 是 11
     */
    public static List<Integer> manualPage(Long total, int rowCount)
    {
        int infoCount = total.intValue();     //总数
        int pageCount = (infoCount / rowCount);   //总页数

        // 分页 去查询
        List<Integer> pageCountList = new ArrayList<>();
        int current = 1;
        for (; current <= pageCount; current++) {
            pageCountList.add(current);
        }
        // 求 余 剩下 10000 不等于 0 则有 进行最后的分页
        int endRowCount = infoCount % rowCount;
        if (endRowCount != 0) {
            pageCountList.add(current);
        }
        return pageCountList;
    }
}
